package cn.liontalk.provider;

import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.util.Random;

/**
 * @author: 周哲
 * @package: cn.liontalk.provider
 * @description:
 * @date: 2019/1/10 15:51
 * @version: V1.0
 */
@Component
public class Producer {

    @Autowired
    private AmqpTemplate template;


    /**
     * 配置交换器名称
     */
    @Value("${mq.config.exchange}")
    private String exchangeName;


    /**
     * info 日志路由键
     */
    @Value("${mq.config.queue.info.routing.key}")
    private String infoRoutingKey;


    /**
     * error 日志路由键
     */
    @Value("${mq.config.queue.error.routing.key}")
    private String errorRoutingKey;


    /**
     * 发送消息的方法 通过random 表示消费不同的日志消息
     * 死循环表示不停的在消费消息
     *
     * @param message 消息内容
     */
    public void sendMessage(String message) {
        int value = new Random().nextInt(10);
        if (value % 2 == 0) {
            template.convertAndSend(exchangeName, infoRoutingKey, message);
        } else {
            template.convertAndSend(exchangeName, errorRoutingKey, message);
        }
    }

}
